package jdk.jdk17.instanceofexp;

import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        Object obj = (Integer) 1;


        if (obj instanceof Integer v) {
            System.out.printf(v.toString());
        } else if (obj instanceof String v) {
            System.out.printf(v);
        }

    }

    /**
     * instanceof 转换并申请了一个新的变量，极大地方便了代码的编写
     * @param obj
     * @param num
     * @return
     */
    public static Integer add(Object obj, Integer num) {
        // 1.8
        /*
        if (obj instanceof Integer) {
            return (Integer) obj + num;
        }
         */

        // 17
        if (obj instanceof Integer number) {
            return number + num;
        } else if (obj instanceof BigDecimal number){
            return number.add(new BigDecimal(num)).intValue();
        } else {
            return 0;
        }
    }
}
